1. Field of the Invention
The invention relates to a peripheral communication terminal such as a terminal printer, plotter, or other communications device that can be used, for example, in a point-of-sale ("POS") system, and relates particularly to an interfacing method for selectably interrupting serial communications between the terminal unit and a host processor.
2. Description of the Related Art
Personal computer-based information processing systems for point-of-sale (POS) system applications are commonly capable of using a variety of peripheral communications terminals connected to a host personal computer ("PC"). Examples of such data processing terminals include a customer display, cash drawer, printer, plotter, modem, and bar code reader. These data processing terminals are commonly connected to the PC using an RS-232C or similar serial communications port. Commands and subject data to be processed are transferred between the host personal computer and the terminal unit through this serial communications port.
A data terminal ready (DTR) signal, for example, is typically used by peripheral terminals to notify the host whether data or commands can be received. When the host thus detects an ACTIVE DTR signal, the host sets the data set ready (DSR) signal ACTIVE. Data loss is thus prevented by commencing data communication only after both the peripheral terminal and the host thus confirm that sending and receiving data therebetween is enabled.
Terminal printers are the most widely used type of peripheral communications terminals in POS systems. These printers can become "busy," and therefore become at least temporarily unable to send or receive data under a variety of conditions, such as when the printer's receive buffer becomes full, a printer transport problem or a paper jam occurs, or a standby mode is activated when, e.g., the operator opens the printer cover. When such a terminal printer becomes "busy", the DTR signal is set to INACTIVE. When the DTR signal is thus INACTIVE, the conventional host printer driver suspends data and command transmissions to the terminal unit until the DTR signal is again ACTIVE.
In addition to the conventional receipt printing functions using roll paper, some recent POS system terminal printers include such other functionality as slip printing using cut-sheet forms and magnetic ink character recognition. Some of the problems that can occur with such multiple function printers are described hereinbelow.
For example, if slip printing is accidentally selected, the printer automatically enters a standby mode to wait for the user to insert the slip printing form, and therefore sets the DTR signal to INACTIVE. The printing process is thus delayed and does not proceed until a form is actually inserted or the slip printing mode is canceled by user intervention even though the host device has prepared data for roll receipt printing.
Also, when a paper jam or other error occurs, the printing terminal again sets the DTR signal INACTIVE to stop data transfers. When the operator corrects the problem and resets the printer, the data that had already been transferred to the printer but not printed may have been irretrievably become lost in the interim.
Such problems could be resolved in the host software, for example, through detection that the printer is in a form loading standby state or detecting what printer error has occurred, and then sending a command (a "real-time command" below) causing an appropriate recovery routine to be executed. This process can, for example, be used to delete any unprocessed data still stored in memory and post it for redelivery to the terminal when it comes back on-line.
With a general-purpose serial port driver or printer driver, however, no data or commands can be sent while the DTR signal is INACTIVE. This means that such problems cannot be handled in software on the host device if conventional serial port interfacing is to be preserved. If the host software must handle such problems, a special driver capable of ignoring the DTR signal and accessing the serial device directly must be developed. Doing so, however, means that the information processing system cannot be developed using an unmodified general-purpose operating system. Moreover, when transmissions are executed by simply ignoring the DTR signal, a receive buffer overflow state can occur on the terminal side, potentially resulting in loss of the transmitted data and commands and degraded system reliability. And thus this method cannot be used in POS systems and other systems in which data reliability is essential.
It is known that some conventional terminal printers include a function for notifying the host of a change in terminal status without using a DTR signal. When this function has already been enabled according to an initialization command received from the host, such terminals notify the host when a particular status change has occurred by sending corresponding status data to the host. This function is called an "automatic status-back" (ASB) function described in greater detail hereinbelow. The DTR signal in this case is relegated to becoming an auxiliary or superfluous signal, and the host is able to determine the off-line status of the terminal without depending upon the DTR signal.
However, it should be realized for conventional automatic status-back to work, the host PC and the terminal printer it is communicating with must be able to recognize and issue ASB commands and responses. More importantly, backwards compatibility with legacy peripherals or host devices still mandates use of conventional DTR handshaking, thereby reintroducing the aforementioned off-line command recognition and throughput latency problems.